// calculate
console.log(Math.cbrt('8'),
	Math.cbrt('imooc'),
	Math.cbrt(-0),
	Math.cbrt(2));
console.log(Math.clz32(3.2),
	Math.clz32(3.9),
	Math.clz32(0),
	Math.clz32(2),
	Math.clz32(0b0001110101010101),
	Math.clz32(null),
	Math.clz32(true),
	Math.clz32('foo'),
	Math.clz32(NaN));
console.log(Math.imul(3, 5),
	Math.imul(-1, 5),
	Math.imul(2.9, 4.5),
	Math.imul(0.5, 4),
	Math.imul(true, 5),
	Math.imul(NaN, 2));
console.log(Math.hypot(3, 4, 5),
	Math.hypot(),
	Math.hypot(3, 4, '5'),
	Math.hypot(3, 4, 'foo'),
	Math.hypot(-3));

// handle
console.log(Math.trunc(-0.2),
	Math.trunc('1.5'),
	Math.trunc(true),
	Math.trunc(null),
	Math.trucn(),
	Math.trunc('imooc'));
console.log(Math.fround(1),
	Math.fround(2 ** 24),
	Math.fround(2 ** 24 + 1),
	Math.fround(0.3),
	Math.fround(NaN),
	Math.fround(Infinity),
	Math.fround('5'),
	Math.fround(null),
	Math.fround(true),
	Math.fround([]));

// judge
console.log(Math.sign(-1),
	Math.sign('2'),
	Math.sign(-0),
	Math.sign(0),
	Math.sign('foo'));

// log
console.log(Math.expm1('1'),
	Math.expm1(-1),
	Math.expm1(0),
	Math.expm1('foo'));
console.log(Math.log1p(1),
	Math.log1p(-1),
	Math.log1p(-2),
	Math.log1p('imooc'),
	Math.log1p('0'),
	Math.log1p(Math.E - 1));
console.log(Math.log10(10),
	Math.log10('100'),
	Math.log10(0),
	Math.log10('imooc'),
	Math.log10(-1),
	Math.log2(3),
	Math.log2(2),
	Math.log2(1),
	Math.log2(0),
	Math.log2('1024'),
	Math.log2('imooc'));

// operator
let a = 2 ** 3;
console.log(a);
a **= 3;
console.log(a);
